/*
 *  Copyright 2003 by Spectrum Digital Incorporated.
 *  All rights reserved. Property of Spectrum Digital Incorporated.
 */

/*
 *  ======== evmdm642_aic23_read16.c ========
 *  EVMDM642_AIC23_read() implementation
 */
 
#include <evmdm642.h>
#include <evmdm642_aic23.h>

/*
 *  ======== EVMDM642_AIC23_read ========
 *  Read a 32-bit value from the codec
 */
Int16 EVMDM642_AIC23_read(EVMDM642_AIC23_CodecHandle hCodec, Uint32 *val)
{
    /* If McASP doesn't have new data available, return false */
    if ((MCASP_RGETH(EVMDM642_AIC23_hMcASP, SRCTL1) & 0x20) == 0) {
        return (FALSE);
    }

    /* Read the data */
    *val = MCASP_RGETH(EVMDM642_AIC23_hMcASP, XBUF1);
    
    return (TRUE);
}
